package com.eight.sertvice;

import com.baomidou.mybatisplus.extension.service.IService;
import com.eight.pojo.TbCoupon;
import com.eight.pojo.TbUser;
import com.eight.vo.ComResult;

import java.util.List;

/**
 * @Description: TODO
 * @Author: Van.Planifolia
 * @CreateTime: 2023-02-28  16:03
 * @Version: 1.0
 */
public interface CouponService extends IService<TbCoupon> {
    ComResult getPage(Integer pageIndex, Integer pageSize);

    /**
     * 获取用户可用的优惠券
     * @return 优惠券信息
     */
    List<TbCoupon> getUseEnableCoupon();


    /**
     * 进行模糊查询
     * @param tbCoupon 查询条件
     * @param pageIndex 分页索引
     * @param pageSize 分页大小
     * @return 查询的结果
     */
    ComResult fuzzySearchPage(TbCoupon tbCoupon, Integer pageIndex, Integer pageSize);

    /**
     * 批量查询ids数组中的优惠券
     * @param ids 优惠券id
     * @return 查询的List
     */
    List<TbCoupon> batchSearchById(List<Integer> ids);

    /**
     * 添加一条用户优惠券记录
     * @param tbCoupon 优惠券
     * @param tbUser 用户对象
     * @return 插入结果
     */
    ComResult addUserCoupon(TbCoupon tbCoupon, TbUser tbUser);
}
